package com.ithao.dao;


import com.github.pagehelper.Page;
import com.ithao.pojo.Permission;
import com.ithao.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @description ：角色Dao
 * @version: 1.0
 */
public interface RoleDao {
	/**
	 * 根据用户ID，获取角色列表
	 * @param userId
	 * @return
	 */
	List<Role> selectRoleByUserId(Integer userId);

    List<Role> findAll();

    Page<Role> findPage(Map queryParams);

	void insert(Role role);

	void insertRoleAndPermissionId(@Param("roleId")Integer roleId, @Param("permissionId") Integer permissionId);

	Role findById(Integer id);

	/**
	 * 根据角色Id查询角色的所有权限
	 * @param roleId
	 * @return
	 */
	List<Permission> selectPermissionByRoleId(Integer roleId);

	void update(Role role);

	void deleteRoleAndPermissionByRoleId(Integer roleId);

	void deleteRoleAndUserByRoleId(Integer roleId);

	void delete(Integer id);

}
